#ifndef NCDGUI_IFLISTCONTROLLER_H
#define NCDGUI_IFLISTCONTROLLER_H

#include <gtk/gtk.h>

#include <structure/LinkedList1.h>
#include <base/DebugObject.h>

#include "ServerInterface.h"
#include "IfList.h"

typedef struct {
    IfList *iflist;
    GtkStatusIcon *tray_icon;
    LinkedList1 interfaces_list;
    ServerUser srvuser;
    NCDRequestClientRequest req;
    int have_request;
    DebugObject d_obj;
} IfListController;

struct IfListController_interface {
    IfListController *cntrl;
    char *ifname;
    char *status;
    int has_default_gw;
    IfListEntry entry;
    int is_enumed;
    LinkedList1Node interfaces_list_node;
};

void IfListController_Init (IfListController *o, ServerInterface *srvif, IfList *iflist, GtkStatusIcon *tray_icon);
void IfListController_Free (IfListController *o);

#endif
